perm filename DART.REG[UP,DOC]1 blob
sn#011064 filedate 1972-11-08 generic text, type T, neo UTF8
DART - Dump and Restore Techinque
R. E. Gorin
November, 1972
Summary:
DART is a program that saves disk files on magnetic tape and
restores files from tape to disk. Dart will be used to make periodic
backups of the file disk. Dart is also available to users who wish
to maintain their own backup tapes.
Caution:
The following description may be incomplete and is subject to
change.
Dart Commands
Dart signifies its readiness to accept a command by typing an
asterisk (*).
In the description below, braces, { and }, are used to denote
optional items. Vertical bar, | , denotes an exclusive - or choice.
Pointed brackets, < and > are used to enclose syntactic items that
are defined below.
Dart accepts the following commands:
DUMP {<dest>←}{<source>}
RESTORE {<dest>←}{<source>}
REWIND {<dev>{:}}
EOT {<dev>{:}}
ADVANCE {FILE|RECORD} {<dev>{:}} {<count>}
BACKSPACE {FILE|RECORD} {<dev>{:}} {<count>}
LOCATE {<source>}
LIST {<dest>}←{<source>}
EXIT
<dest> ::= {<dev>:}<file>{.<ext>}{[<prj>,<prg>]}
<source> ::= {{<dev>:}{[<prj>,<prg>]}@}
{<dev>:}<file>{.ext}{[<prj>,<prg>]}{,<source>}
<dev> is "any" legal device name.
<file> is any file name or *
<ext> is any file extension or *
<prj> is any project code or *
<prg> is any programmer name or *
<count> is any string of decimal digits.
Caution: The only devices that are appropriate here are disk and
magtape. (UDP service may be added, later.) See the semantics
section, below, for further explanations.
Commands are typed on one line and terminated by a
carriage-return and line-feed.
Command Semantics.
REWIND
This command will cause the device named to rewind to load
point. MTA0 is the default if no device argument is used. The
device named should be a magnetic tape unit.
EOT
This command will cause ADVANCE FILE to be repeated until
either two adjacent file marks are seen (logical end of tape) or
until physical end of tape is reached.
ADVANCE and ADVANCE FILE
This command will cause the tape to advance past the next
file mark on the tape. If a repeat factor is given, then the comand
will be repeated that number of times.
Caution: Dart often records more than one disk file on a
magtape file! Therefore, advance file will (sometimes) skip more
than one disk file.
ADVANCE RECORD
Same as ADVANCE FILE except that instead of file marks,
record marks are used. This command leaves you at the front of a
record.
BACKSPACE and BACKSPACE FILE
This command will cause the tape to move backwards until a
file mark is seen. DART then does one ADVANCE FILE operation to
position the tape at the front of a file. If a repeat argument is
given then that argument is used to repeat the backspace operation.
Only one ADVANCE is used, after all backspace operations.
Caution BACKSPACE or BACKSPACE 1 will position the tape at
the front of the current magtape file. BACKSPACE 2 will position one
previous, etc.
BACKSPACE RECORD
Same as BACKSPACCE FILE except that record marks are used to
stop the operation instead of file marks. After all backspaces are
completed, Dart does an ADVANCE RECORD command.
LOCATE
For each file named in the argument list, this command prints
the tape numbers where this file was dumped and the corresponding
creation dates of the file.
LIST
This command will list on the destination device the names of
the files that are read from the source device.
DUMP
This command will write on the destination device those files
that are specified by the source term. If there is no source
argument, *.*[current area] is used.
RESTORE
This command will restore to the destination files that are
described by the source term.
Null destination means *.*[current area].
Null source = *.*[current area]
The command RESTORE [*,REG]←[*,REG] will restore all of REG's
files to the areas that they were dumped from.
Tape Format
Tapes are usually recorded at 800 BPI, odd parity. Record
length does not exceed 1280 words. There are three types of records,
header-trailer records, File start records, and Continuation records.
Header-Trailer records:
Word 0: version,,length
version is the positive version
number of the DART that created
this tape. Length is the length
of the data following.
Word 1: 'DART ' sixbit DART
Word 2: '*HEAD*' or '*TAIL*'
data in sixbit
Word 3: time,date in file system format
Word 4: ppn the name of the person running
Dart.
Word 5: class,,tapno Tape number of this tape
Dump class of this dump
Tape numbers are kept only for system class dumps. User class is
class 0. Classes 1 and 2 are system classes (Temporary and
Permanent).
File-Start Records
Word 0: -1,,length -1 denotes file-start records.
length is the number of data words
that follow.
Word 1: devnam name of the source device
Word 2-21 file retrieval of this file as it
appeared on the disk.
word 22-length data from the file.
word length+1 exclusive or of words 1-length.
word length+2 if this is 0, skip to next record.
if this is <0, threat as word 0 above.
File continuation Record
word 0 0,,length length is the number of data words
words 1-length data from the file
word length+1 xor of words 1-length above
word length+2 same as in File-start record.
If a file start is seen, then at least all of the retrieval data is
present in the current magtape record.
Privileged commands
The area [DMP,SYS] is privileged to make backup dumps of the disk.
The following commands are legal if you happen to be [DMP,SYS].
FDUMP Full dump of the disk
PDUMP Permanent Dump of the disk
TDUMP Temporary-class dump of the disk
PICKUP Continue with a privileged dump
after a system crash.
The FDUMP,PDUMP and TDUMP commands all take an optional argument of
the form <dev>:← which specifies the tape to dump to.
File Backup Policy
DART will implement the following policy regarding backing up
the disk on tape.
There are three classes of system dump, Full, Permanent and
Temporary. Full dumps will be made at widely separated intervals
(probably more than 6 months). Permanent dumps will be made
approximatly once a week. Temporary dumps will be made several times
each week.
The retention of the Permanent (and Full) Tapes will exceed 1
year. The retentention of the Temporary tapes will exceed 4 weeks.
The different classes of dump will treat files differently as
follows:
1. RPG and TMP and empty (i.e., 0 word) files will not be dumped
2. Files with protection of 400 or greater will not be dumped.
3. Any file not covered by 1 or 2 will be dumped if it has
the dump date invalid bit set.
3. A full dump will dump all files except those eliminated by
1 and 2 above.
4. A P dump will dump all files (not covered by 1 and 2) that
have been p-dumped fewer than 2 times and are more than n
(n=4 at present) days old.
5. A T dump will dump all files (not covered by 1 and 2) that
have never been p-dumped, have never been t-dumped
and do not have a REL, DMP or LST extension.